package com.tuniu.agents.command;

import java.util.Map;

/**
 * Command matcher interface
 * Stateless design, all state information is passed through parameters
 */
public interface CommandMatch {

    /**
     * Determines if the input matches this matcher
     *
     * @param input   User input
     * @param params  Command parameters
     * @param context Context parameters
     * @return Whether the input matches
     */
    boolean matches(String input, Map<String, Object> params, Map<String, Object> context);

}
